Jiazzi: Powerful and Practical Java Components
نویسندگان
چکیده
The actual class for a component’s import is not determined until component link time. Nevertheless, Jiazzi supports separate compilation (and type checking) of components and type-safe linking. To maximize flexibility, Jiazzi allows mutually recursive components, and allows the actual class supplied for a component’s import to provide more methods then the component expects. Potential problems with cyclic inheritance graphs and colliding method definitions are addressed by the linking language.
منابع مشابه
A Comparison of Jiazzi and AspectJ for Feature-wise Decomposition
Feature-wise decomposition is an important approach to building configurable software systems. Although there has been research on the usefulness of particular tools for feature-wise decomposition, there are not many informative comparisons on the relative effectiveness of different tools. In this paper, we compare AspectJ and Jiazzi, which are two different systems for decomposing Java program...
متن کاملMixing COP and OOP
We describe and justify thirteen technical properties that a component system must possess to work with object-oriented programming languages (such as Java, C++, or C#). Our components are designed for large-scale, modular construction of programs with static checking of program compositions. Jiazzi, our enhancement of Java, implements the technical properties that we describe. We use Jiazzi co...
متن کاملJava Component Development in Jiazzi
Extended Abstract Current Java constructs for code reuse, including classes, are insufficient for organizing programs in terms of reusable software components. Although packages, class loaders, and various design patterns can implement forms of components in ad hoc manners, the lack of an explicit language construct for components places a substantial burden on programmers, and obscures a progr...
متن کاملA Framework for Model Checking Concurrent Java Components
The Java programming language supports concurrency. Concurrent programs are harder to verify than their sequential counterparts due to their inherent nondeterminism and a number of specific concurrency problems, such as interference and deadlock. In this paper we illustrate how to construct a base model of Java concurrency primitives using the Promela language of SPIN. Subsequently, a readers-w...
متن کاملExplainable Security for Relational Databases (Extended Experimental Evaluation)
The goal of our experimental evaluation was three-fold. First, we wanted to verify that SQL queries containing a wide range of commonly used features could be correctly handled by the compiler discussed in Section 4. Second, we wanted to determine whether the language of filterproject queries described in Section 4.2 was powerful enough to represent a variety of practical security constraints. ...
متن کامل